#ifndef FELLOW_H
#define FELLOW_H

typedef enum {
  FELLOW_RUNTIME_ERROR_NO_ERROR = 0,
  FELLOW_RUNTIME_ERROR_CPU_PC_BAD_BANK = 1
} fellow_runtime_error_codes;

extern void fellowRun(void);
extern void fellowStepOne(void);
extern void fellowStepOver(void);
extern void fellowRunDebug(ULO breakpoint);
extern void fellowSetRuntimeErrorCode(fellow_runtime_error_codes error_code);
extern void fellowNastyExit(void);
extern void fellowAddLog(const char *,...);
extern void fellowAddTimelessLog(const char *,...);
extern char *fellowGetVersionString(void);
extern BOOLE fellowGetMMXDetected(void);
extern void fellowSetUseGUI(BOOLE use_gui);
extern BOOLE fellowGetUseGUI(void);
extern void fellowPreStartReset(BOOLE reset);
extern BOOLE fellowGetPreStartReset(void);
extern void fellowHardReset(void);
extern BOOLE fellowEmulationStart(void);
extern void fellowEmulationStop(void);
extern void fellowRequestEmulationStop(void);
void fellowRequestEmulationStopImmediately(void);
void fellowAddLog2(STR *msg);


#endif

